/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 */
package com.icinfo.cloud.provider.punish.ucase.casemain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.icinfo.cloud.provider.common.enums.RecordSaveTypeEnum;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.time.LocalDateTime;


/**
 * 描述：案件详情表数据保存传输对象
 *
 * @author xiangyuyu
 * @date 2022-02-16 15:43
 */
@Data
@NoArgsConstructor
public class CaseMainDetailInfoSaveDto {
    /**
     * 操作类型(1-新增/2-修改)
     */
    private RecordSaveTypeEnum operateType;

    /**
     * 主键
     */
    private String id;

    /**
     * 案件id
     */
    private String caseId;

    /**
     * 文书标题前缀
     */
    private String docTitlePrefix;

    /**
     * 案件来源id
     */
    private String caseSourceId;

    /**
     * 案发时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime caseHappenTime;

    /**
     * 案发地省市区（区域编码）
     */
    private String caseHappenAddressAreaCode;

    /**
     * 案发地详细地址
     */
    private String caseHappenAddressDetail;

    /**
     * 立案时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime caseRegisterTime;

    /**
     * 案件名称
     */
    private String caseName;

    /**
     * 案件简要情况
     */
    private String caseConciseCondition;

    /**
     * 立案审批承办人意见
     */
    private String caseApprovalUndertakerOpinion;

    /**
     * 接受询问时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime acceptInquireTime;

    /**
     * 接受询问地点
     */
    private String acceptInquireAddress;

    /**
     * 接受询问携带资料
     */
    private String acceptInquireCarryMaterial;

    /**
     * 询问通知书生成日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime inquireDocGenerateTime;

    /**
     * 处罚种类（多种以;分隔）
     */
    private String punishKinds;

    /**
     * 裁量区间
     */
    private String discretionInterval;

    /**
     * 拟处罚金额
     */
    private String draftPunishMoney;

    /**
     * 是否重大案件(0-否/1-是)
     */
    private String isImportantCase;

    /**
     * 是否集体议案(0-否/1-是)
     */
    private String isNeedCollectiveDiscuss;

    /**
     * 调查起始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate investigationStartDate;

    /**
     * 调查结束日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate investigationEndDate;

    /**
     * 案发经过
     */
    private String caseHappenProcess;

    /**
     * 当事人基本情况
     */
    private String partyBasicInfo;

    /**
     * 违法事实
     */
    private String illegalFact;

    /**
     * 相关证据
     */
    private String relateEvidence;

    /**
     * 当事人意见
     */
    private String partyOpinion;

    /**
     * 处罚意见
     */
    private String punishOpinion;

    /**
     * 调查报告生成日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate investigationReportGenerateDate;

    /**
     * 行政处罚告知审批承办人意见
     */
    private String punishInformApprovalUndertakerOpinion;

    /**
     * 行政处罚决定审批承办人意见
     */
    private String punishDecideApprovalUndertakerOpinion;

    /**
     * 鉴于
     */
    private String consideringInfo;

    /**
     * 依据法律名称
     */
    private String accordingLaw;

    /**
     * 行政处罚事先告知期限
     */
    private Integer punishBeforeInformPeriod;

    /**
     * 行政处罚（听证类）告知期限
     */
    private Integer punishInformPeriod;

    /**
     * 行政处罚事先告知日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate punishBeforeInformDate;

    /**
     * 行政处罚（听证类）告知日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate punishInformDate;

    /**
     * 要求陈述、申辩意见
     */
    private String demandStatementPleadOpinion;

    /**
     * 听证内容
     */
    private String demandHearingOpinion;

    /**
     * 履行告知及当事人陈述申辩或者听证简况
     */
    private String fulfillInformAndpartyOpinion;

    /**
     * 执行完成日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate executeFinishDate;

    /**
     * 执行方式
     */
    private String executeWay;

    /**
     * 执行情况描述
     */
    private String executeConditionDesc;

    /**
     * 结案日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate caseFinishDate;

    /**
     * 结案情况说明
     */
    private String caseFinishConditionIllustrate;

    /**
     * 送达时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime sentTime;

    /**
     * 案件结案报告-备注
     */
    private String caseFinishReportRemark;

    /**
     * 其他执法程序描述
     */
    private String otherEnforcingProcedureDesc;

    /**
     * 当事人陈述、申辩、申请听证、采信与否等叙述
     */
    private String partyOpinionNarrate;

    /**
     * 鉴于(处罚决定-自由裁量)
     */
    private String consideringInfoDiscretion;

    /**
     * 责令当事人执行事项描述
     */
    private String orderedpartyToDo;

    /**
     * 缴纳罚款地
     */
    private String payPenaltyAddress;

    /**
     * 收款账号
     */
    private String incomingAccount;

    /**
     * 申请复议部门名称
     */
    private String requestReexaminationDeptName;

    /**
     * 起诉法院名称
     */
    private String indictCourtName;

    /**
     * 最新更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 非诉审核类型id adr(alternative dispute resolution)
     */
    private String adrApprovalTypeId;

    /**
     * 案件涉及id
     */
    private String caseInvolveId;

    /**
     * 管辖依据id
     */
    private String jurisdictionBasisId;


    /**
     * 非诉审核类型名称 adr(alternative dispute resolution)
     */
    private String adrApprovalTypeName;

    /**
     * 案件涉及名称
     */
    private String caseInvolveName;

    /**
     * 管辖依据名称
     */
    private String jurisdictionBasisName;
}